<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>12_class</title>
</head>
<body>
</body>
<!--
1. 通过class定义类/实现类的继承
2. 在类中通过constructor定义构造方法
3. 通过new来创建类的实例
4. 通过extends来实现类的继承
5. 通过super调用父类的构造方法
6. 重写从父类中继承的一般方法
-->
<script type="text/javascript">
    // function Person(name,age) {
    //     this.name = name;
    //     this.age = age;
    // }
    //
    // let person = new Person("kobe", 39);
    // console.log(person);
    class Person {
        constructor(name, age) {
            this.name = name;
            this.age = age;
        }

        showName() {
            console.log(this.name, this.age);
        }
    }

    let person = new Person("kobe", 39);
    console.log(person);
    person.showName();

    //定义一个子类
    class StrPerson extends Person {
        constructor(name, age, salary) {
            super(name, age);//调用父类的构造方法
            this.salary = salary;
        }

        showName() {//在子类自身定义方法
            console.log(this.name, this.age, this.salary);
        }
    }

    let str = new StrPerson('weide', 38, 1000000000);
    console.log(str);
    str.showName();
</script>
</html>